FIG. 1 provides a schematic representation of the power supply arrangement in a typical computing device 10. The system receives AC power supply from the mains or other appropriate source. The AC supply is fed into an AC/DC converter 101, which outputs a DC power supply at some intermediate voltage (e.g. 12 Volts). This output is then supplied directly to some of the components within system 10, as illustrated schematically by load 103A in FIG. 1. Typically load 103A comprises various electromechanical devices, such as disk drives, fans, and so on.
System 10 further includes components, depicted schematically in FIG. 1 as load 103B, which require a lower DC voltage than load 103A. Accordingly, system 10 also incorporates a DC/DC converter 102 that converts the 12 Volt output from AC/DC converter 101 to a relatively low voltage DC supply (e.g. 3 Volts). Typically DC/DC converter 102 is located on the motherboard of system 10, and supplies its low voltage output to various digital electronic components on the motherboard, such as a central processing unit (CPU) and dynamic random access memory (DRAM).
It will be appreciated that there are many other known configurations for the power supply within a computing system apart from that shown in FIG. 1. For example, there may be several DC/DC converters 102 in order to provide different voltages for various devices (or alternatively a single converter may support multiple outputs at a range of voltages).
One problem in the design of power supplies for computers is that there can be significant fluctuations in the amount of power that such devices require. This is particularly a problem in relation to digital electronic components. Consider, for example, the operation of RAM. As is well-known, data access to RAM is generally slow compared to the normal processing speed of the CPU, and so most systems are provided with one or more cache units (either inside or adjacent to the CPU). A cache unit contains a subset of the data from RAM, and allows the processor fast access to this subset of data in order to improve performance.
With good hardware and software design, the majority of processor memory accesses are generally satisfied from the cache. In normal operations therefore, perhaps only 10% (for example) of memory accesses from the CPU are cache misses, and so need to be supplied from RAM itself. However, there can be times when the cache hit rate is significantly reduced, such as when a new application is being started up, often with its own initialisation data, or when an unusual data or code structure leads to low cache hit rate. Assuming that in these circumstances the cache hit rate falls to zero, every memory access now goes to RAM. Consequently, the access rate into RAM has increased by a factor of ten compared to the 10% cache miss rate above. This will generally cause the power consumption of the RAM to increase by approximately a corresponding factor of ten.
The system power supply unit, such as DC/DC converter 102 in FIG. 1, therefore needs to be able to accommodate such significant variations in power usage. In particular, the power supply must be able to handle sudden, temporary peaks of demand, where there is a large increase in power consumption compared to the usual requirements. Consequently, power supplies in computer systems typically have a maximum output capacity that significantly exceeds their normal expected operating level. It will be appreciated that this adds considerably to the cost of the power supply.
Unfortunately, it is rather difficult to accurately predict or model the peak power usage of certain digital electronic devices. Thus while the maximum power usage for RAM is expected to occur at zero cache hit rate, for other components the situation is far less clear. One example is a floating-point unit (FPU), which may be integrated into a CPU or provided as a separate add-on chip. Typically the power consumption of the FPU is highly dependent upon the data being processed, but this dependency is very complex and difficult to predict at design time. Accordingly, there is a general tendency to over-specify the power supply requirements for an FPU and analogous devices, in order to provide a safety margin in case the predicted (estimated) power consumption is too low. Again, this over-specification increases costs for the power supply.
Nevertheless, it is difficult to be absolutely confident that the margins provided are indeed adequate, in which case the FPU or other device may be vulnerable to some obscure (pathological) data sequence that causes the power supply to be over-stressed. Typically the power supply will then cut out as a safety precaution (rather than burning out), leading at least to the need for a system reboot, and the possible loss of data as well.
Note that if such a pathological data sequence does exist, but does not become known until after a system has shipped, then it is extremely difficult to protect against it in the field. This is because the offending data sequence would generally appear as a set of standard data processing operations, and so would be very hard to detect specifically in either software or hardware. Furthermore, even if the probability of such a data sequence being used by accident were extremely small, there is the risk that it may be used deliberately, such as by a hacker or terrorist, as part of a malicious attack on the system.
Another concern is that computer systems are typically available in a very wide range of configurations. For example, models in a given product range may vary in terms of processor speed, memory capacity, storage capacity, and so on. Moreover, a model range may evolve over time, as new components (e.g. higher speed processors) become available. Furthermore, customers frequently perform upgrades to installed systems as well, such as by supplementing or replacing existing components with new and more powerful components that were not necessarily available when the system was originally designed and purchased.
As a result, any given system is typically available in, or may be modified to, a very wide range of configurations. It is difficult for a manufacturer to rigorously test every single potential configuration. Instead, particular components (e.g. RAM units) are generally designed to be compatible (i.e. interchangeable) with one another, so that a modification or upgrade of such a component should not take a system outside its proper operating regime, including in terms of the power supply requirements. Nevertheless, there may be some subtle and unexpected differences in the way that slightly different versions of a component perform or interact with other components that do impact power consumption. This in turn might adversely affect system operation and reliability for certain particular configurations.
In summary therefore, existing computer systems tend to have power supplies that are conservatively engineered, and so are rather expensive compared to the demand that is placed on them for normal system operations. Even so, despite the significant safety margins provided, it is difficult to be absolutely certain that there is no pathological combination of operations or potential system reconfiguration that will not overload the power supply, and so lead to a system failure.